<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>embedme: src/BaseType.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">embedme
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">BaseType.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>基础类型头文件  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
</div>
<p><a href="_base_type_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_base_info.html">libemb::BaseInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">基础信息类  <a href="classlibemb_1_1_base_info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_enum_string.html">EnumString</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">用于定义枚举字符串表  <a href="struct_enum_string.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_bitable.html">libemb::Bitable&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">用于对类型T进行位操作  <a href="classlibemb_1_1_bitable.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_array.html">libemb::Array&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">数组基类  <a href="classlibemb_1_1_array.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_int_array.html">libemb::IntArray</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">整形数组类,例:[1, 2, 3]  <a href="classlibemb_1_1_int_array.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_double_array.html">libemb::DoubleArray</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">浮点型数组类,例:[1.01, 2.02, 3.03]  <a href="classlibemb_1_1_double_array.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_string_array.html">libemb::StringArray</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">字符串数组类  <a href="classlibemb_1_1_string_array.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_tuple_item.html">libemb::TupleItem</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">元组元素类  <a href="classlibemb_1_1_tuple_item.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibemb_1_1_tuple.html">libemb::Tuple</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">元组类(可以同时存储整数,浮点数,字符串)  <a href="classlibemb_1_1_tuple.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a70c57aae3eb654e205459b4362c8089a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a70c57aae3eb654e205459b4362c8089a">ARRAY_SIZE</a>(array)&#160;&#160;&#160;(sizeof(array)/sizeof(array[0]))</td></tr>
<tr class="separator:a70c57aae3eb654e205459b4362c8089a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76e74e5534d139b2b72763f7230abdbc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a76e74e5534d139b2b72763f7230abdbc">IS_DIGITAL</a>(ch)&#160;&#160;&#160;((((ch)&gt;='0')&amp;&amp;((ch)&lt;='9'))?true:false)</td></tr>
<tr class="separator:a76e74e5534d139b2b72763f7230abdbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dac81d72cfe90b7da010b9becf62606"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a6dac81d72cfe90b7da010b9becf62606">IS_HEXDIG</a>(ch)&#160;&#160;&#160;(((((ch)&gt;='0')&amp;&amp;((ch)&lt;='9'))||(((ch)&gt;='A')&amp;&amp;((ch)&lt;='F'))||(((ch)&gt;='a')&amp;&amp;((ch)&lt;='f')))?true:false)</td></tr>
<tr class="separator:a6dac81d72cfe90b7da010b9becf62606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef7ed709c11221c220a4637d8ed946e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#aef7ed709c11221c220a4637d8ed946e3">IS_CAPITAL</a>(ch)&#160;&#160;&#160;((((ch)&gt;='A')&amp;&amp;((ch)&lt;='Z'))?true:false)</td></tr>
<tr class="separator:aef7ed709c11221c220a4637d8ed946e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af84cf65fa3abd8d70b242252eb2f76b9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#af84cf65fa3abd8d70b242252eb2f76b9">IS_ALPHABET</a>(ch)&#160;&#160;&#160;(((((ch)&gt;='A')&amp;&amp;((ch)&lt;='Z'))||(((ch)&gt;='a')&amp;&amp;((ch)&lt;='b')))?true:false)</td></tr>
<tr class="separator:af84cf65fa3abd8d70b242252eb2f76b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacc3ee1a7f283f8ef65cea31f4436a95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(x,  y)&#160;&#160;&#160;(((x)&gt;(y))?(x):(y))</td></tr>
<tr class="separator:aacc3ee1a7f283f8ef65cea31f4436a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74e75242132eaabbc1c512488a135926"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a74e75242132eaabbc1c512488a135926">MIN</a>(x,  y)&#160;&#160;&#160;(((x)&lt;(y))?(x):(y))</td></tr>
<tr class="separator:a74e75242132eaabbc1c512488a135926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6147f3466ba046825bde1fdc6c07b5e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a6147f3466ba046825bde1fdc6c07b5e1">CLIP</a>(min,  x,  max)&#160;&#160;&#160;(((x)&gt;(max))?(max):(((x)&lt;(min))?(min):(x)))</td></tr>
<tr class="separator:a6147f3466ba046825bde1fdc6c07b5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a294f1ac3fb1bd546cba9cc71604c987f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a294f1ac3fb1bd546cba9cc71604c987f">BIT_GET</a>(value,  bit)&#160;&#160;&#160;(!!((0x0001&lt;&lt;(bit))&amp;(value)))</td></tr>
<tr class="separator:a294f1ac3fb1bd546cba9cc71604c987f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab94522870cd3d40d76ae0a8778166017"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#ab94522870cd3d40d76ae0a8778166017">BIT_SET</a>(value,  bit)&#160;&#160;&#160;((0x0001&lt;&lt;(bit))|(value))</td></tr>
<tr class="separator:ab94522870cd3d40d76ae0a8778166017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae8a28e1c109b954e3eed8812556a1e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#aae8a28e1c109b954e3eed8812556a1e7">BIT_CLR</a>(value,  bit)&#160;&#160;&#160;((~(0x0001&lt;&lt;(bit)))&amp;(value))</td></tr>
<tr class="separator:aae8a28e1c109b954e3eed8812556a1e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a460cdce060735081f1d22b0e0f60d9dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a460cdce060735081f1d22b0e0f60d9dd">UNUSED_PARAM</a>(param)&#160;&#160;&#160;{(void)(param);}</td></tr>
<tr class="separator:a460cdce060735081f1d22b0e0f60d9dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a758b170f0918c7f7fe2f4c81241300fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a758b170f0918c7f7fe2f4c81241300fc">CSTR</a>(stdstr)&#160;&#160;&#160;((stdstr).c_str())</td></tr>
<tr class="separator:a758b170f0918c7f7fe2f4c81241300fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1777b0250ed9ff46a571023359f34be1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a1777b0250ed9ff46a571023359f34be1">VSTR</a>(stdstr)&#160;&#160;&#160;((stdstr).empty()?&quot;(null)&quot;:(stdstr).c_str())</td></tr>
<tr class="separator:a1777b0250ed9ff46a571023359f34be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae11866354a21f09e0cb63330dfd430a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#ae11866354a21f09e0cb63330dfd430a2">CH2STR</a>(ch)&#160;&#160;&#160;(std::string(1,(char)ch))</td></tr>
<tr class="separator:ae11866354a21f09e0cb63330dfd430a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f43b36cfbbd59cd83b3193004616f7e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a7f43b36cfbbd59cd83b3193004616f7e">BUILD_DATE</a>&#160;&#160;&#160;__DATE__</td></tr>
<tr class="separator:a7f43b36cfbbd59cd83b3193004616f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0566a4cbfe1e0d65d5bd7c7eb51b208"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#aa0566a4cbfe1e0d65d5bd7c7eb51b208">BUILD_TIME</a>&#160;&#160;&#160;__TIME__</td></tr>
<tr class="separator:aa0566a4cbfe1e0d65d5bd7c7eb51b208"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5dc787fb1f255d9ca8afb3343dcfdac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#ac5dc787fb1f255d9ca8afb3343dcfdac">ENUM_STRING</a>(enum_name)&#160;&#160;&#160;{enum_name,#enum_name}</td></tr>
<tr class="separator:ac5dc787fb1f255d9ca8afb3343dcfdac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd8f284e92f5d8b7f694849f4874225d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#acd8f284e92f5d8b7f694849f4874225d">SYMBOL_PUBLIC</a></td></tr>
<tr class="separator:acd8f284e92f5d8b7f694849f4874225d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c555267c5532b41b6360833f37ef2fa"><td class="memItemLeft" align="right" valign="top"><a id="a5c555267c5532b41b6360833f37ef2fa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SYMBOL_LOCAL</b></td></tr>
<tr class="separator:a5c555267c5532b41b6360833f37ef2fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac133dccd0c5479b2de3d40dc1658e098"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#ac133dccd0c5479b2de3d40dc1658e098">DECL_COPY_DISABLE</a>(...)</td></tr>
<tr class="separator:ac133dccd0c5479b2de3d40dc1658e098"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57e803e49526dc5ba8c1915c68708ae0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a57e803e49526dc5ba8c1915c68708ae0">DECL_CLASSNAME</a>(ClassName)&#160;&#160;&#160;public:virtual const char* className(){return <a class="el" href="_base_type_8h.html#a758b170f0918c7f7fe2f4c81241300fc">CSTR</a>(__CLASS_NAME__);}private:std::string __CLASS_NAME__{#ClassName};</td></tr>
<tr class="separator:a57e803e49526dc5ba8c1915c68708ae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a061394ba346bf86b39c07aefb2164264"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a061394ba346bf86b39c07aefb2164264">CC_PROPERTY</a>(varType,  varName,  dftVal)</td></tr>
<tr class="separator:a061394ba346bf86b39c07aefb2164264"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a01b95241136053b637a37115d60a3621"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a01b95241136053b637a37115d60a3621">libemb::sint8</a> = signed char</td></tr>
<tr class="separator:a01b95241136053b637a37115d60a3621"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abef257ae28ebcc7afce968c8cc64c006"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#abef257ae28ebcc7afce968c8cc64c006">libemb::sint16</a> = signed short</td></tr>
<tr class="separator:abef257ae28ebcc7afce968c8cc64c006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7826b9adaa8e650e7f090ec418cade"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#acb7826b9adaa8e650e7f090ec418cade">libemb::sint32</a> = signed int</td></tr>
<tr class="separator:acb7826b9adaa8e650e7f090ec418cade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48aedf065d71f1d23d24501f411c6e42"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a48aedf065d71f1d23d24501f411c6e42">libemb::sint64</a> = signed long long</td></tr>
<tr class="separator:a48aedf065d71f1d23d24501f411c6e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addd0d1ba39d05a893db9eba78123ee5a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#addd0d1ba39d05a893db9eba78123ee5a">libemb::uint8</a> = unsigned char</td></tr>
<tr class="separator:addd0d1ba39d05a893db9eba78123ee5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebf3b8d3c22313714b07d595cc3effac"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#aebf3b8d3c22313714b07d595cc3effac">libemb::uint16</a> = unsigned short</td></tr>
<tr class="separator:aebf3b8d3c22313714b07d595cc3effac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01991db9cc388cf9815386e13465f332"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a01991db9cc388cf9815386e13465f332">libemb::uint32</a> = unsigned int</td></tr>
<tr class="separator:a01991db9cc388cf9815386e13465f332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33693dc67dce44b501dc5d6661639155"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a33693dc67dce44b501dc5d6661639155">libemb::uint64</a> = unsigned long long</td></tr>
<tr class="separator:a33693dc67dce44b501dc5d6661639155"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a792960261d486477eeadf5ead6303203"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a792960261d486477eeadf5ead6303203">libemb::fltp32</a> = float</td></tr>
<tr class="separator:a792960261d486477eeadf5ead6303203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cf9eb6347322ab5fc5df9edc3d44276"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a8cf9eb6347322ab5fc5df9edc3d44276">libemb::fltp64</a> = double</td></tr>
<tr class="separator:a8cf9eb6347322ab5fc5df9edc3d44276"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a717a72a543bb648f05c09a72862ea673"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a717a72a543bb648f05c09a72862ea673">libemb::RC_E</a> { <a class="el" href="_base_type_8h.html#a717a72a543bb648f05c09a72862ea673a3c001b04130f4d348aa3b9d2245774a7">libemb::RC_OK</a> = 0, 
<a class="el" href="_base_type_8h.html#a717a72a543bb648f05c09a72862ea673a2b6da99bcd572ee55d3cd6b9cfb74500">libemb::RC_ERROR</a> = -1, 
<a class="el" href="_base_type_8h.html#a717a72a543bb648f05c09a72862ea673a07aeb21aa3dbaf09860fdd89e67f6c52">libemb::RC_TIMEOUT</a> = -2
 }</td></tr>
<tr class="separator:a717a72a543bb648f05c09a72862ea673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3450d82e4ab35808b09bd2a23861453e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453e">libemb::BASETYPE_E</a> { <br />
&#160;&#160;<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453ea4a24a7a6de42cf3cc8194a25d84e5a36">libemb::BASETYPE_NONE</a> =0, 
<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453ea12310335ecadd4629aaa38bfe1e19ebe">libemb::BASETYPE_INT</a>, 
<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453ea1e3aaaa5a1aacb987461b1bcb6902ed0">libemb::BASETYPE_DOUBLE</a>, 
<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453eacb991a500be227bd5411bdba6672dca7">libemb::BASETYPE_STRING</a>, 
<br />
&#160;&#160;<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453eaf62b1703b9f8442c584ff9d73695303f">libemb::BASETYPE_INTARRAY</a>, 
<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453ea67c217d18c5dde20e6f286aa296a8bc2">libemb::BASETYPE_DOUBLEARRAY</a>, 
<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453ea04372dfea53597c8a35527759ce81542">libemb::BASETYPE_STRINGARRAY</a>, 
<a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453ea09dd19a9495a2b868a1fbb597bc9d438">libemb::BASETYPE_TUPLE</a>
<br />
 }</td></tr>
<tr class="separator:a3450d82e4ab35808b09bd2a23861453e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a059040dd3013fa1971f45e94c06ecd9f"><td class="memItemLeft" align="right" valign="top"><a id="a059040dd3013fa1971f45e94c06ecd9f"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>MAX_INT_E</b> { <br />
&#160;&#160;<b>MAX_INT8</b> =127, 
<b>MAX_INT8U</b> =255, 
<b>MAX_INT16</b> =32767, 
<b>MAX_INT16U</b> =65535, 
<br />
&#160;&#160;<b>MAX_INT32</b> =2147483647, 
<b>MAX_INT32U</b> =4294967295
<br />
 }</td></tr>
<tr class="separator:a059040dd3013fa1971f45e94c06ecd9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>基础类型头文件 </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a70c57aae3eb654e205459b4362c8089a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70c57aae3eb654e205459b4362c8089a">&#9670;&nbsp;</a></span>ARRAY_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARRAY_SIZE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">array</td><td>)</td>
          <td>&#160;&#160;&#160;(sizeof(array)/sizeof(array[0]))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>计算数组大小(元素个数). </p>

</div>
</div>
<a id="aae8a28e1c109b954e3eed8812556a1e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae8a28e1c109b954e3eed8812556a1e7">&#9670;&nbsp;</a></span>BIT_CLR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BIT_CLR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bit&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((~(0x0001&lt;&lt;(bit)))&amp;(value))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>清除value的第bit位的值 </p>

</div>
</div>
<a id="a294f1ac3fb1bd546cba9cc71604c987f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a294f1ac3fb1bd546cba9cc71604c987f">&#9670;&nbsp;</a></span>BIT_GET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BIT_GET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bit&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(!!((0x0001&lt;&lt;(bit))&amp;(value)))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取value的第bit位的值 </p>

</div>
</div>
<a id="ab94522870cd3d40d76ae0a8778166017"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab94522870cd3d40d76ae0a8778166017">&#9670;&nbsp;</a></span>BIT_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BIT_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bit&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((0x0001&lt;&lt;(bit))|(value))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>设置value的第bit位的值 </p>

</div>
</div>
<a id="a7f43b36cfbbd59cd83b3193004616f7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f43b36cfbbd59cd83b3193004616f7e">&#9670;&nbsp;</a></span>BUILD_DATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BUILD_DATE&#160;&#160;&#160;__DATE__</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>编译日期(字符串) </p>

</div>
</div>
<a id="aa0566a4cbfe1e0d65d5bd7c7eb51b208"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0566a4cbfe1e0d65d5bd7c7eb51b208">&#9670;&nbsp;</a></span>BUILD_TIME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BUILD_TIME&#160;&#160;&#160;__TIME__</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>编译时间(字符串) </p>

</div>
</div>
<a id="a061394ba346bf86b39c07aefb2164264"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a061394ba346bf86b39c07aefb2164264">&#9670;&nbsp;</a></span>CC_PROPERTY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CC_PROPERTY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">varType, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">varName, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dftVal&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">protected</span>: varType m_##varName{dftVal};\</div>
<div class="line">public: varType <span class="keyword">get</span>##varName(<span class="keywordtype">void</span>){<span class="keywordflow">return</span> m_##varName;}\</div>
<div class="line">public: <span class="keywordtype">void</span> <span class="keyword">set</span>##varName(varType var){m_##varName=var;}</div>
</div><!-- fragment --><p>生成类属性(get &amp; set) </p>

</div>
</div>
<a id="ae11866354a21f09e0cb63330dfd430a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae11866354a21f09e0cb63330dfd430a2">&#9670;&nbsp;</a></span>CH2STR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CH2STR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ch</td><td>)</td>
          <td>&#160;&#160;&#160;(std::string(1,(char)ch))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>字符转换为string </p>

</div>
</div>
<a id="a6147f3466ba046825bde1fdc6c07b5e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6147f3466ba046825bde1fdc6c07b5e1">&#9670;&nbsp;</a></span>CLIP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CLIP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">min, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">max&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((x)&gt;(max))?(max):(((x)&lt;(min))?(min):(x)))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>在 min 和 max 区间中取与 x 大小较接近的数值. </p>

</div>
</div>
<a id="a758b170f0918c7f7fe2f4c81241300fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a758b170f0918c7f7fe2f4c81241300fc">&#9670;&nbsp;</a></span>CSTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CSTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stdstr</td><td>)</td>
          <td>&#160;&#160;&#160;((stdstr).c_str())</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>string转换为char* </p>

</div>
</div>
<a id="a57e803e49526dc5ba8c1915c68708ae0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57e803e49526dc5ba8c1915c68708ae0">&#9670;&nbsp;</a></span>DECL_CLASSNAME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECL_CLASSNAME</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ClassName</td><td>)</td>
          <td>&#160;&#160;&#160;public:virtual const char* className(){return <a class="el" href="_base_type_8h.html#a758b170f0918c7f7fe2f4c81241300fc">CSTR</a>(__CLASS_NAME__);}private:std::string __CLASS_NAME__{#ClassName};</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>定义类名(给类添加获取类名的方法) </p>

</div>
</div>
<a id="ac133dccd0c5479b2de3d40dc1658e098"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac133dccd0c5479b2de3d40dc1658e098">&#9670;&nbsp;</a></span>DECL_COPY_DISABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECL_COPY_DISABLE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  __VA_ARGS__(<span class="keyword">const</span> __VA_ARGS__ &amp;) = <span class="keyword">delete</span>; \</div>
<div class="line">  __VA_ARGS__ &amp; operator=(<span class="keyword">const</span> __VA_ARGS__ &amp;) = <span class="keyword">delete</span>;</div>
</div><!-- fragment --><p>禁止对象拷贝(删除拷贝构造函数和赋值运算符) </p>

</div>
</div>
<a id="ac5dc787fb1f255d9ca8afb3343dcfdac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5dc787fb1f255d9ca8afb3343dcfdac">&#9670;&nbsp;</a></span>ENUM_STRING</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENUM_STRING</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">enum_name</td><td>)</td>
          <td>&#160;&#160;&#160;{enum_name,#enum_name}</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>定义枚举字符串 </p>

</div>
</div>
<a id="af84cf65fa3abd8d70b242252eb2f76b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af84cf65fa3abd8d70b242252eb2f76b9">&#9670;&nbsp;</a></span>IS_ALPHABET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IS_ALPHABET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ch</td><td>)</td>
          <td>&#160;&#160;&#160;(((((ch)&gt;='A')&amp;&amp;((ch)&lt;='Z'))||(((ch)&gt;='a')&amp;&amp;((ch)&lt;='b')))?true:false)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>判断一个字符是否是字母. </p>

</div>
</div>
<a id="aef7ed709c11221c220a4637d8ed946e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef7ed709c11221c220a4637d8ed946e3">&#9670;&nbsp;</a></span>IS_CAPITAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IS_CAPITAL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ch</td><td>)</td>
          <td>&#160;&#160;&#160;((((ch)&gt;='A')&amp;&amp;((ch)&lt;='Z'))?true:false)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>判断一个字符是否是大写字母. </p>

</div>
</div>
<a id="a76e74e5534d139b2b72763f7230abdbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76e74e5534d139b2b72763f7230abdbc">&#9670;&nbsp;</a></span>IS_DIGITAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IS_DIGITAL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ch</td><td>)</td>
          <td>&#160;&#160;&#160;((((ch)&gt;='0')&amp;&amp;((ch)&lt;='9'))?true:false)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>判断一个字符是否是十进制数字. </p>

</div>
</div>
<a id="a6dac81d72cfe90b7da010b9becf62606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dac81d72cfe90b7da010b9becf62606">&#9670;&nbsp;</a></span>IS_HEXDIG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IS_HEXDIG</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ch</td><td>)</td>
          <td>&#160;&#160;&#160;(((((ch)&gt;='0')&amp;&amp;((ch)&lt;='9'))||(((ch)&gt;='A')&amp;&amp;((ch)&lt;='F'))||(((ch)&gt;='a')&amp;&amp;((ch)&lt;='f')))?true:false)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>判断一个字符是否是16进制数字. </p>

</div>
</div>
<a id="aacc3ee1a7f283f8ef65cea31f4436a95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacc3ee1a7f283f8ef65cea31f4436a95">&#9670;&nbsp;</a></span>MAX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((x)&gt;(y))?(x):(y))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>返回 x 和 y 中较大值. </p>

</div>
</div>
<a id="a74e75242132eaabbc1c512488a135926"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74e75242132eaabbc1c512488a135926">&#9670;&nbsp;</a></span>MIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MIN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((x)&lt;(y))?(x):(y))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>返回 x 和 y 中较小值. </p>

</div>
</div>
<a id="acd8f284e92f5d8b7f694849f4874225d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd8f284e92f5d8b7f694849f4874225d">&#9670;&nbsp;</a></span>SYMBOL_PUBLIC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SYMBOL_PUBLIC</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>动态链接库的符号导出控制,在声明的时候加上即可 </p>

</div>
</div>
<a id="a460cdce060735081f1d22b0e0f60d9dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a460cdce060735081f1d22b0e0f60d9dd">&#9670;&nbsp;</a></span>UNUSED_PARAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UNUSED_PARAM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">param</td><td>)</td>
          <td>&#160;&#160;&#160;{(void)(param);}</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>消除未使用变量警告 </p>

</div>
</div>
<a id="a1777b0250ed9ff46a571023359f34be1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1777b0250ed9ff46a571023359f34be1">&#9670;&nbsp;</a></span>VSTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VSTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stdstr</td><td>)</td>
          <td>&#160;&#160;&#160;((stdstr).empty()?&quot;(null)&quot;:(stdstr).c_str())</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>可视化字符串 </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a792960261d486477eeadf5ead6303203"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a792960261d486477eeadf5ead6303203">&#9670;&nbsp;</a></span>fltp32</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#a792960261d486477eeadf5ead6303203">libemb::fltp32</a> = typedef float</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>32位浮点数 </p>

</div>
</div>
<a id="a8cf9eb6347322ab5fc5df9edc3d44276"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cf9eb6347322ab5fc5df9edc3d44276">&#9670;&nbsp;</a></span>fltp64</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#a8cf9eb6347322ab5fc5df9edc3d44276">libemb::fltp64</a> = typedef double</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>64位浮点数 </p>

</div>
</div>
<a id="abef257ae28ebcc7afce968c8cc64c006"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abef257ae28ebcc7afce968c8cc64c006">&#9670;&nbsp;</a></span>sint16</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#abef257ae28ebcc7afce968c8cc64c006">libemb::sint16</a> = typedef signed short</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>16位有符号数 </p>

</div>
</div>
<a id="acb7826b9adaa8e650e7f090ec418cade"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb7826b9adaa8e650e7f090ec418cade">&#9670;&nbsp;</a></span>sint32</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#acb7826b9adaa8e650e7f090ec418cade">libemb::sint32</a> = typedef signed int</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>32位有符号数 </p>

</div>
</div>
<a id="a48aedf065d71f1d23d24501f411c6e42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48aedf065d71f1d23d24501f411c6e42">&#9670;&nbsp;</a></span>sint64</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#a48aedf065d71f1d23d24501f411c6e42">libemb::sint64</a> = typedef signed long long</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>64位有符号数 </p>

</div>
</div>
<a id="a01b95241136053b637a37115d60a3621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01b95241136053b637a37115d60a3621">&#9670;&nbsp;</a></span>sint8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#a01b95241136053b637a37115d60a3621">libemb::sint8</a> = typedef signed char</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>8位有符号数 </p>

</div>
</div>
<a id="aebf3b8d3c22313714b07d595cc3effac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebf3b8d3c22313714b07d595cc3effac">&#9670;&nbsp;</a></span>uint16</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#aebf3b8d3c22313714b07d595cc3effac">libemb::uint16</a> = typedef unsigned short</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>16位无符号数 </p>

</div>
</div>
<a id="a01991db9cc388cf9815386e13465f332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01991db9cc388cf9815386e13465f332">&#9670;&nbsp;</a></span>uint32</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#a01991db9cc388cf9815386e13465f332">libemb::uint32</a> = typedef unsigned int</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>32位无符号数 </p>

</div>
</div>
<a id="a33693dc67dce44b501dc5d6661639155"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33693dc67dce44b501dc5d6661639155">&#9670;&nbsp;</a></span>uint64</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#a33693dc67dce44b501dc5d6661639155">libemb::uint64</a> = typedef unsigned long long</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>64位无符号数 </p>

</div>
</div>
<a id="addd0d1ba39d05a893db9eba78123ee5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addd0d1ba39d05a893db9eba78123ee5a">&#9670;&nbsp;</a></span>uint8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="_base_type_8h.html#addd0d1ba39d05a893db9eba78123ee5a">libemb::uint8</a> = typedef unsigned char</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>8位无符号数 </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a3450d82e4ab35808b09bd2a23861453e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3450d82e4ab35808b09bd2a23861453e">&#9670;&nbsp;</a></span>BASETYPE_E</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="_base_type_8h.html#a3450d82e4ab35808b09bd2a23861453e">libemb::BASETYPE_E</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453ea4a24a7a6de42cf3cc8194a25d84e5a36"></a>BASETYPE_NONE&#160;</td><td class="fielddoc"><p>未知类型 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453ea12310335ecadd4629aaa38bfe1e19ebe"></a>BASETYPE_INT&#160;</td><td class="fielddoc"><p>整数 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453ea1e3aaaa5a1aacb987461b1bcb6902ed0"></a>BASETYPE_DOUBLE&#160;</td><td class="fielddoc"><p>浮点数 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453eacb991a500be227bd5411bdba6672dca7"></a>BASETYPE_STRING&#160;</td><td class="fielddoc"><p>字符串 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453eaf62b1703b9f8442c584ff9d73695303f"></a>BASETYPE_INTARRAY&#160;</td><td class="fielddoc"><p>整数数组 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453ea67c217d18c5dde20e6f286aa296a8bc2"></a>BASETYPE_DOUBLEARRAY&#160;</td><td class="fielddoc"><p>浮点数数组 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453ea04372dfea53597c8a35527759ce81542"></a>BASETYPE_STRINGARRAY&#160;</td><td class="fielddoc"><p>字符串数组 </p>
</td></tr>
<tr><td class="fieldname"><a id="a3450d82e4ab35808b09bd2a23861453ea09dd19a9495a2b868a1fbb597bc9d438"></a>BASETYPE_TUPLE&#160;</td><td class="fielddoc"><p>元组 </p>
</td></tr>
</table>

</div>
</div>
<a id="a717a72a543bb648f05c09a72862ea673"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a717a72a543bb648f05c09a72862ea673">&#9670;&nbsp;</a></span>RC_E</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="_base_type_8h.html#a717a72a543bb648f05c09a72862ea673">libemb::RC_E</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a717a72a543bb648f05c09a72862ea673a3c001b04130f4d348aa3b9d2245774a7"></a>RC_OK&#160;</td><td class="fielddoc"><p>返回值:正常 </p>
</td></tr>
<tr><td class="fieldname"><a id="a717a72a543bb648f05c09a72862ea673a2b6da99bcd572ee55d3cd6b9cfb74500"></a>RC_ERROR&#160;</td><td class="fielddoc"><p>返回值:出错 </p>
</td></tr>
<tr><td class="fieldname"><a id="a717a72a543bb648f05c09a72862ea673a07aeb21aa3dbaf09860fdd89e67f6c52"></a>RC_TIMEOUT&#160;</td><td class="fielddoc"><p>返回值:超时 </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
